1. Field of the Invention
The present invention relates to tools for assisting software and web developers and other computer users in developing, analyzing, and/or maintaining executable components used to dynamically generate web pages and other types of electronic documents.
2. Description of the Related Art
Web sites and other types of electronic document systems commonly generate documents dynamically in response to requests from user computing devices. In complex systems, a given document may be generated from content obtained from a number of different sources. For example, in some web sites, a given web page may include multiple visual components, each of which includes content generated or obtained from a different server-side component or set of components (web services, applications, functions, etc.). The set or sequence of server-side components invoked to generate a particular web page may vary from one instance of the web page to the next. This may be the case where, for example, the structure of the web page is dependent upon attributes of the user, attributes of the browsing session, and/or other variables.
In systems of the type described above, the task of developing and maintaining web pages, and the associated server-side components, can be complex and time consuming. This difficulty can be compounded by the effort necessary to identify which executable server-side component generated a particular web page element. For example, when a developer becomes aware of an error in a particular visual or other component of a web page, the developer may spend a significant amount of time trying to identify the particular executable component(s), and/or the particular sequence of events, that caused or contributed to the error.
As another example, when a graphic designer who has assumed responsibility for an existing web site wishes to understand the reason that a predecessor made a specific design decision, he or she must typically search through paper or electronic storage systems to find relevant design documents. Without knowing where the documents are or what they are called, the designer may spend a significant amount of time trying to find them. As a final example, when a visitor to a web site wishes to report a usability issue or a software bug related to a component of a web page, unless he knows the technical term that the developers use to describe the page component, his communication of the problem to the webmaster could easily be misunderstood.